/**
 * @作者 钟先崟
 * @时间 2023-02-11 20:05
 * @说明
 */
public class Solution {
    public static void main(String[] args) {
//        int[] ints = diStringMatch("IDID");
//        int[] ints = diStringMatch("III");
        int[] ints = diStringMatch("");
        for (Integer a : ints) {
            System.out.print("" + a);
        }
    }

    /**
     * 执行用时：
     * 3 ms
     * , 在所有 Java 提交中击败了
     * 33.45%
     * 的用户
     * 内存消耗：
     * 41.6 MB
     * , 在所有 Java 提交中击败了
     * 97.29%
     * 的用户
     * @param s
     * @return
     */
    public static int[] diStringMatch(String s) {
        int[] ints = new int[s.length() + 1];
        int i, j, k;
        for (i = 0, j = 0, k = s.length(); i < s.length(); i++) {
            if (s.charAt(i) == 'I') {
                ints[i] = j;
                j++;
            } else {
                ints[i] = k;
                k--;
            }
        }
        ints[i] = k;
        return ints;
    }
}
